extends Node

var current_catalog_data : Dictionary = {} : set = _set_catalog_data
func _set_catalog_data(new_data : Dictionary):
	print("INF: set catalog data: ", new_data)
	current_catalog_data = new_data
	DbAdapter.append_catalog_info(current_catalog_data)

var current_catalog_path : String = "" : set = _set_current_catalog_path
signal current_catalog_path_changed
func _set_current_catalog_path(new_path : String):
	
	DbAdapter.close_catalog()
	current_catalog_path = new_path
	DbAdapter.open_catalog(current_catalog_path)
	current_catalog_data = DbAdapter.get_catalog_info()
	current_catalog_path_changed.emit()

#массив значений из таблицы с категориями
var main_categories_list : Array = []
#массив значений из таблицы с юнитами
var current_units_list : Array = []

#порождаем окно выбора файла. Менять режим открытия можно последним аргументом
func open_file_window(function : Callable, 
						file_type_arr : PackedStringArray = ["*"], 
						open_mode : FileDialog.FileMode = FileDialog.FILE_MODE_OPEN_FILE):
	var files := FileDialog.new()

	files.visible = true
	files.filters = file_type_arr
	files.file_mode = open_mode
	files.file_selected.connect(func(path:String):
		get_tree().root.remove_child(files)
		files.queue_free()
		function.call(path)
		)
	files.min_size = Vector2(860, 640)
	files.access = FileDialog.ACCESS_FILESYSTEM
	get_tree().root.add_child(files)

